// 汇总区间

package Leetcode;

import java.util.ArrayList;
import java.util.List;

class Solution_228 {
    public List<String> summaryRanges(int[] nums) {
        // List<String> result = new ArrayList<>();
        // if (nums.length == 0)
        // return result;
        // if (nums.length == 1) {
        // result.add(String.valueOf(nums[0]));
        // return result;
        // }
        // int left = nums[0];
        // int right = nums[0];
        // for (int i = 1; i < nums.length; i++) {
        // if (nums[i] == right + 1) {
        // right = nums[i];
        // } else {
        // // 区间只有一个数
        // if (left == right)
        // result.add(String.valueOf(left));
        // // 区间有多个数
        // else
        // result.add(new String(left + "->" + right));
        // left = nums[i];
        // right = nums[i];
        // }
        // }
        // // 区间只有一个数
        // if (left == right)
        // result.add(String.valueOf(left));
        // // 区间有多个数
        // else
        // result.add(new String(left + "->" + right));
        // return result;

        List<String> result = new ArrayList<>();
        if (nums.length == 0)
            return result;
        if (nums.length == 1) {
            result.add(String.valueOf(nums[0]));
            return result;
        }
        int left = 0, right = 0;
        while (right < nums.length) {

            if (right + 1 < nums.length && nums[right] + 1 == nums[right + 1]) {
                right++;
                continue;
            } else {
                if (left == right)
                    result.add(String.valueOf(nums[left]));
                else
                    result.add(new String(nums[left] + "->" + nums[right]));
                left = right + 1;
                right = right + 1;
            }

        }
        return result;
    }
}